
class HotlinkimagePlugin:
	def __init__(self):
		# put all the links this plugins supports here - it will be used to filter supported URLs
		self.supported_sites = ['hotlinkimage.com']
		self.supported_urls = self.supported_sites
		self.cookies_to_block = []
		# whether we support pause/resume
		self.supports_resume = False
		# maximum number of concurrent downloads
		self.max_concurrent = 1
		# parameter names we require
		self.param_names = []
		# parameter values
		self.param_vals = {}
		self.name = self.supported_sites[0]

	def get(self, url):
		"""Get a single file from hotlinkimage"""
		parser = URLLister()
		parser.feed(get_url_data(url))
		for script_url in parser.script_urls:
			if 'hotlinkimage.com/showimg.php' in script_url:
				url = script_url
				break
		parser.close()

		src_pat = 'src="'
		# Find the line with our file location
		for line in get_url_data(url).splitlines():
			if src_pat in line:
				url = line.split(src_pat)[1].split('"')[0]
				break

		local_file = get_filename_from_url(url)
		download_file_with_retries(local_file, url)
		config.report.report_finish(local_file)

	def url_matches(self, url):
		"""Check whether we support this URL"""
		parsed_url = urlparse.urlparse(url)
		if 'thumb' in parsed_url[2]: # image is a thumbnail
			return False
		for l in self.supported_urls:
			if l in url:
				return True
		return False

	def version(self):
		"""Return plugin version - when interface changes, the version changes"""
		return 2

modules = [HotlinkimagePlugin()]
